1. Field of the Present Invention
The present invention in the field of digital electronic systems and more particularly in the field of multi-agent systems employing shared busses to communicate data among the agents.
2. History of Related Art
In a multi-agent shared bus system, the maximum rate at which data can be sent over the bus is strongly influenced by the amount of signal skew. For purposes of this invention, an agent is defined as any element or component of the system that is connected to the shared bus. An agent can be an individual integrated circuit within its own package. Alternatively, a multiple agent can be a contained within a single package.
Signal skew is inherent in any parallel bus. There are multiple components that contribute to signal skew. Typically, a single clock signal is responsible for clocking multiple (e.g., sixteen) data signals. There is inherent design and fabrication skew, referred to as sending skew, at the sending agent. There are also various paths leading from the sending chip to the receiving chip, each of will contribute to “path skew” due to differences in path length, loading, and signal propagation environment. Finally, there is “receiving skew” that reflects variations in the characteristic delay paths of paths from external IO pads to internal latches. All of these skew elements contribute to the overall skew and substantially limit the transmit speed.
In a multi-agent shared bus environment, the amount of skew is unique to each unique combination of sender and receiver. In a system that includes Agents A, B, and C, for example, the overall skew from Agent A to Agent B is different than the overall skew from Agent B to Agent C. It would be desirable to implement a system that includes skew compensation to minimize the perceived skew at the receiving end. It would be further desirable if the implemented solution accounted for the variations in skew among the various sender-receiver combinations. It would be further desirable if the implemented solution was relatively inexpensive, in terms of die size area, to implement.